package com.jfok.server.DAO;

import java.util.List;

@SuppressWarnings("rawtypes")
public interface ISystemBaseDAO {

	
	public void save(Object record);

	
	public void attachDirty(Object record, Object old);

	
	public void delete(Object record);

	
	public Object findById(Class<?> className, Object id);

	
	public Object findById(String beanClassName, Object id);

	
	public List findByProperty(Class<?> className, String propertyName,
			Object value);
	
	
	public Object findByPropertyFirst(Class<?> className, String propertyName,
			Object value);
	
	
	
	
	public List findByString(Class<?> className, String value);
	
	public List findByProperty(String beanClassName, String propertyName,
			Object value);

	
	
	
	public List findByPropertyWithOtherCondition(Class<?> className, String propertyName,
			Object value , String otherCondString);
	
	
	
	
	
	public List findByLikeProperty(String beanClassName, String propertyName,
			Object value);
	
	
	
	public List findByLikePropertyWithOtherCondition(String beanClassName, String propertyName,
			Object value, String otherCondString);
	
	
	
	public List findByPropertyWithOtherCondition(String beanClassName, String propertyName,
			Object value , String otherCondString);
	
	
	
	public List findByPropertyAllSort(String beanClassName, String sort,
			String dir, String propertyName, Object value, String defaultSort,
			String defaultDir);

	
	public List findAll(Class<?> className);

	
	public List findAll(String className);

	
	public List findAllSort(String beanClassName, String sort, String dir);

	List findByPropertyAllSort(Class<?> className, String sort, String dir,
			String propertyName, Object value, String defaultSort, String defaultDir);

}
